package com.brightgenerous.niconama05.anime.product;

import com.brightgenerous.niconama05.anime.Anime;
import com.brightgenerous.niconama05.anime.Heroine;
import com.brightgenerous.niconama05.anime.Interviewer;

/**
 * 苺ましまろクラス
 * 
 * @author brigen
 */
public class Ichigomashimaro implements Anime {

	/**
	 * コンストラクタ
	 */
	protected Ichigomashimaro() {
	}

	/**
	 * インタビュアーを受け入れる
	 *
	 * @param x_interviewer インタビュアー
	 */
	@Override
	public void accept(Interviewer x_interviewer) {
		x_interviewer.interview(this);
	}

	/**
	 * タイトルを取得する
	 * 
	 * @return タイトル
	 */
	@Override
	public String getTitle() {
		return "苺ましまろ";
	}

	/**
	 * 概要を取得する
	 *
	 * @return 概要
	 */
	@Override
	public String getDescription() {
		return "「かわいいは、正義!」。";
	}

	/** キャラクター 千佳 */
	private final Heroine m_chika = new Heroine("伊藤 千佳", "千葉紗子", "http://2.bp.blogspot.com/_Gosb4jvhaqk/Sn4Ye8faiQI/AAAAAAAAABM/wa3mPq2Mt3E/s320/03_p.jpg");

	/** キャラクター 美羽 */
	private final Heroine m_miu = new Heroine("松岡 美羽", "折笠富美子", "http://img.blogs.yahoo.co.jp/ybi/1/20/08/rimurer/folder/1031291/img_1031291_37895131_1?1238299753");

	/** キャラクター 茉莉 */
	private final Heroine m_matsuri = new Heroine("桜木 茉莉", "川澄綾子", "http://img.blogs.yahoo.co.jp/ybi/1/b9/de/shougo19992002/folder/949281/img_949281_23749291_0?1138287810");

	/** キャラクター アナ */
	private final Heroine m_ana = new Heroine("アナ・コッポラ", "能登麻美子", "http://img.yaplog.jp/img/06/pc/k/i/k/kikikiukiki/5/5190.jpg");

	/**
	 * キャラクター 千佳を取得する
	 *
	 * @return キャラクター 千佳
	 */
	public Heroine getChika() {
		return m_chika;
	}

	/**
	 * キャラクター 美羽を取得する
	 *
	 * @return キャラクター 美羽
	 */
	public Heroine getMiu() {
		return m_miu;
	}

	/**
	 * キャラクター 茉莉を取得する
	 *
	 * @return キャラクター 茉莉
	 */
	public Heroine getMatsuri() {
		return m_matsuri;
	}

	/**
	 * キャラクター アナを取得する
	 *
	 * @return キャラクター アナ
	 */
	public Heroine getAna() {
		return m_ana;
	}

	/** 改行文字 */
	private static final String LINE_SEPARATOR = System.getProperty("line.separator");

	/**
	 * toString.
	 * 
	 * return 文字列
	 */
	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getTitle()).append(LINE_SEPARATOR);
		sb.append("--- CHARACTERS ---").append(LINE_SEPARATOR);
		sb.append(heroineToString(getChika())).append(LINE_SEPARATOR);
		sb.append(heroineToString(getMiu())).append(LINE_SEPARATOR);
		sb.append(heroineToString(getMatsuri())).append(LINE_SEPARATOR);
		sb.append(heroineToString(getAna())).append(LINE_SEPARATOR);
		sb.append("------------------").append(LINE_SEPARATOR);

		return sb.toString();
	}

	/**
	 * キャラクターから一行紹介文を生成する
	 *
	 * @param x_heroine キャラクタ―
	 * @return 一行紹介文
	 */
	private static String heroineToString(Heroine x_heroine) {
		return x_heroine.getName() + "(CV:" + x_heroine.getActor() + ")";
	}
}
